order statistics algorithm